package com.jichaoyun.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jichaoyun.model.app.vos.OperateCardsVo;

import com.jichaoyun.common.model.PagedResult;
import com.jichaoyun.model.entity.Fault;
import com.jichaoyun.model.vo.FaultFormVo;
import com.jichaoyun.model.vo.FaultParaVo;
import com.jichaoyun.model.vo.FaultUploadVo;

import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @author zhen
* @description 针对表【fault】的数据库操作Service
* @createDate 2024-03-29 14:51:30
*/
public interface FaultService extends IService<Fault> {


    /**
     * 根据一些列的条件查找出结果
     * @param faultParaVo
     * @return
     */
    PagedResult getMenuListPage(FaultParaVo faultParaVo);


    /**
     * 获取故障的通知
     * @return
     */
    List<FaultFormVo> getFaultInformList();

    /**
     * app 故障-实时概括-故障类型
     * @return
     */
    HashMap<String, Integer> getTodayFaultInfo();

    /**
     * app 故障-实时概括-故障详情
     * @return
     */
    List<Map<String, Object>> getTodayFaultDetail();

    List<OperateCardsVo> getFaultOperateCards();

    Integer faultUpload(FaultUploadVo fault);

    boolean faultUpload(MultipartFile files, Integer num);

    Fault getFaultOperateVo(Integer id);

    /**
     * 故障处理
     * @param files
     * @param operateInfo
     * @return
     */
    Boolean faultOperate(List<MultipartFile> files, String operateInfo,String operatePeople,Integer id);

    List<Map<String, Object>> getFaultRank();

    PagedResult getAppFaultList(FaultParaVo faultParaVo);
}
